今天要繼續我們的 Docker 之旅,我們將使用 Dockerfile 將一個簡單的 Spring Boot 應用程式打包成 Docker 映像檔,使其可以在不同的環境中運行,並且具有高度的可移植性。
首先一樣要先建立一個 project,並且在 Application 下加入簡單的範例。
@SpringBootApplication
@RestController
public class DockerTestApplication {
public static void main(String[] args) {
SpringApplication.run(DockerTestApplication.class, args);
}
@RequestMapping("/api/docker")
public String dockerTest() {
return "Hello";
}
}
接下來在你的 project 下建立一個新的 File 叫 Dockerfile
。
開啟 Dockerfile 後就可以來寫了一樣有上註解。
# 使用基礎映像
FROM openjdk:17
# 設定port號
EXPOSE 8080
# 設定容器的工作目錄
WORKDIR /app
# 複製檔案到映像中
COPY target/DockerTest-0.0.1-SNAPSHOT.jar /app/
# 指定容器運行的預設命令
CMD java -jar /app/DockerTest-0.0.1-SNAPSHOT.jar
在你準備包 image 前要先將你的 porject 打包起來,先點擊畫面旁的 Maven
在雙擊裡面的 package
。
你就可以在你的 target
中看到了
接下來來打開 Terminal 界面,導航到包含 Dockerfile 的專案目錄,然後執行以下命令來建置 Docker 映像檔,記得要開啟 Docker 喔!!!
docker build -t dockerTest .
最後就可以運行我們的 Image 了!
docker run -p 8080:8080 dockertest
可以看到我們的 container 順利啟起來了。
postman測試解果。